package com.jinmdz.fmis.api.api.model.cremation.certificate;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.jinmdz.fmis.core.annotation.AnDict;
import com.jinmdz.fmis.core.base.BaseBean;
import com.jinmdz.fmis.core.constant.EDictCode;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import java.util.Date;

/**
 * 打印火化证或火化证明信息
 *
 * @author LiCongLu
 * @date 2020-04-10 16:15
 */
@ApiModel(value = "打印火化证或火化证明信息", description = "打印火化证或火化证明信息")
public class CremationCertificateItem extends BaseBean {

    /**
     * 打印日期
     */
    @ApiModelProperty(value = "打印日期", name = "printDate", position = 1)
    @JsonFormat(pattern = "yyyy年MM月dd日")
    private Date printDate;

    /**
     * 业务编码
     */
    @ApiModelProperty(value = "业务编码", name = "businessCode", position = 2)
    private String businessCode;

    /**
     * 逝者姓名
     */
    @ApiModelProperty(value = "逝者姓名", name = "deadName", position = 3)
    private String deadName;

    /**
     * 逝者性别编码
     */
    @ApiModelProperty(value = "逝者性别编码", name = "deadGenderCode", position = 4)
    @JsonIgnore
    private Integer deadGenderCode;

    /**
     * 逝者性别编码
     */
    @ApiModelProperty(value = "逝者性别编码", name = "deadGender", position = 5)
    @AnDict(dict = EDictCode.SEX, ref = "deadGenderCode")
    private String deadGender;

    /**
     * 年龄类型编码
     */
    @ApiModelProperty(value = "年龄类型编码", name = "deadAgeTypeCode", position = 6)
    @JsonIgnore
    private Integer deadAgeTypeCode;

    /**
     * 年龄类型
     */
    @ApiModelProperty(value = "年龄类型", name = "deadAgeType", position = 7)
    @AnDict(dict = EDictCode.AGE_TYPE, ref = "deadAgeTypeCode")
    private String deadAgeType;

    /**
     * 逝者年龄
     */
    @ApiModelProperty(value = "逝者年龄", name = "deadAge", position = 8)
    private String deadAge;

    /**
     * 证件类型编码
     */
    @ApiModelProperty(value = "证件类型编码", name = "certificateTypeCode", position = 9)
    @JsonIgnore
    private Integer certificateTypeCode;

    /**
     * 证件类型
     */
    @ApiModelProperty(value = "证件类型", name = "certificateType", position = 10)
    @AnDict(dict = EDictCode.CERTIFICATES, ref = "certificateTypeCode")
    private String certificateType;

    /**
     * 证件号码
     */
    @ApiModelProperty(value = "证件号码", name = "certificateNo", position = 11)
    private String certificateNo;

    /**
     * 省市区县全名称
     */
    @ApiModelProperty(value = "省市区县全称", name = "provinceCityContyFullName", position = 12)
    private String provinceCityCountyFullName;

    /**
     * 户籍地
     */
    @ApiModelProperty(value = "户籍地", name = "houseHoldRegistrationPlace", position = 13)
    private String householdRegistrationPlace;

    /**
     * 生前住址
     */
    @ApiModelProperty(value = "生前住址", name = "beforeDeathAddress", position = 14)
    private String beforeDeathAddress;

    /**
     * 家属姓名，即领证人
     */
    @ApiModelProperty(value = "家属姓名，即领证人", name = "memberName", position = 15)
    private String memberName;

    /**
     * 火化证号,即证明编号
     */
    @ApiModelProperty(value = "火化证号，即证明编号", name = "cremationNo", position = 16)
    private String cremationNo;

    /**
     * 预约日期
     */
    @ApiModelProperty(value = "预约日期", name = "appointmentDate", position = 17)
    @JsonFormat(pattern = yyyy_MM_dd)
    private Date appointmentDate;

    /**
     * 经办人
     */
    @ApiModelProperty(value = "经办人", name = "userFullName", position = 18)
    private String userFullName;

    /**
     * 证明单位名称
     */
    @ApiModelProperty(value = "证明单位名称", name = "funeralUnitName", position = 19)
    private String funeralUnitName;

    /**
     * 证明单位联系电话
     */
    @ApiModelProperty(value = "证明单位联系电话", name = "funeralUnitPhone", position = 20)
    private String funeralUnitPhone;

    public Date getPrintDate() {
        return printDate;
    }

    public CremationCertificateItem setPrintDate(Date printDate) {
        this.printDate = printDate;
        return this;
    }

    public String getBusinessCode() {
        return businessCode;
    }

    public CremationCertificateItem setBusinessCode(String businessCode) {
        this.businessCode = businessCode;
        return this;
    }

    public String getDeadName() {
        return deadName;
    }

    public CremationCertificateItem setDeadName(String deadName) {
        this.deadName = deadName;
        return this;
    }

    public Integer getDeadGenderCode() {
        return deadGenderCode;
    }

    public CremationCertificateItem setDeadGenderCode(Integer deadGenderCode) {
        this.deadGenderCode = deadGenderCode;
        return this;
    }

    public String getDeadGender() {
        return deadGender;
    }

    public CremationCertificateItem setDeadGender(String deadGender) {
        this.deadGender = deadGender;
        return this;
    }

    public Integer getDeadAgeTypeCode() {
        return deadAgeTypeCode;
    }

    public CremationCertificateItem setDeadAgeTypeCode(Integer deadAgeTypeCode) {
        this.deadAgeTypeCode = deadAgeTypeCode;
        return this;
    }

    public String getDeadAgeType() {
        return deadAgeType;
    }

    public CremationCertificateItem setDeadAgeType(String deadAgeType) {
        this.deadAgeType = deadAgeType;
        return this;
    }

    public String getDeadAge() {
        return deadAge;
    }

    public CremationCertificateItem setDeadAge(String deadAge) {
        this.deadAge = deadAge;
        return this;
    }

    public Integer getCertificateTypeCode() {
        return certificateTypeCode;
    }

    public CremationCertificateItem setCertificateTypeCode(Integer certificateTypeCode) {
        this.certificateTypeCode = certificateTypeCode;
        return this;
    }

    public String getCertificateType() {
        return certificateType;
    }

    public CremationCertificateItem setCertificateType(String certificateType) {
        this.certificateType = certificateType;
        return this;
    }

    public String getCertificateNo() {
        return certificateNo;
    }

    public CremationCertificateItem setCertificateNo(String certificateNo) {
        this.certificateNo = certificateNo;
        return this;
    }

    public String getProvinceCityCountyFullName() {
        return provinceCityCountyFullName;
    }

    public CremationCertificateItem setProvinceCityCountyFullName(String provinceCityCountyFullName) {
        this.provinceCityCountyFullName = provinceCityCountyFullName;
        return this;
    }

    public String getHouseholdRegistrationPlace() {
        return householdRegistrationPlace;
    }

    public CremationCertificateItem setHouseholdRegistrationPlace(String householdRegistrationPlace) {
        this.householdRegistrationPlace = householdRegistrationPlace;
        return this;
    }

    public String getBeforeDeathAddress() {
        return beforeDeathAddress;
    }

    public CremationCertificateItem setBeforeDeathAddress(String beforeDeathAddress) {
        this.beforeDeathAddress = beforeDeathAddress;
        return this;
    }

    public String getMemberName() {
        return memberName;
    }

    public CremationCertificateItem setMemberName(String memberName) {
        this.memberName = memberName;
        return this;
    }

    public String getCremationNo() {
        return cremationNo;
    }

    public CremationCertificateItem setCremationNo(String cremationNo) {
        this.cremationNo = cremationNo;
        return this;
    }

    public Date getAppointmentDate() {
        return appointmentDate;
    }

    public CremationCertificateItem setAppointmentDate(Date appointmentDate) {
        this.appointmentDate = appointmentDate;
        return this;
    }

    public String getUserFullName() {
        return userFullName;
    }

    public CremationCertificateItem setUserFullName(String userFullName) {
        this.userFullName = userFullName;
        return this;
    }

    public String getFuneralUnitName() {
        return funeralUnitName;
    }

    public CremationCertificateItem setFuneralUnitName(String funeralUnitName) {
        this.funeralUnitName = funeralUnitName;
        return this;
    }

    public String getFuneralUnitPhone() {
        return funeralUnitPhone;
    }

    public CremationCertificateItem setFuneralUnitPhone(String funeralUnitPhone) {
        this.funeralUnitPhone = funeralUnitPhone;
        return this;
    }
}
